export interface repoSingleApprovalParam {
  approvalInfo?: ApprovalParams;
  currentApprovalInfo?: CurrentApprovalInfo;
}

/**
 * ApprovalParams
 */
export interface ApprovalParams {
  /**
   * 应用编码
   */
  appCode?: string;
  /**
   * 审批编号(32位)
   */
  approvalCode?: string | undefined;
  /**
   * 审批标题
   */
  approvalTitle?: string;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 表单值信息
   */
  ctlValues?: ApprovalInfoctlValue[];
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 节点信息
   */
  pointDetails?: PointDetail[];
  /**
   * 流程id
   */
  processId?: number;
  /**
   * 流程结果进度（1 同意 2退回 3驳回 4审批中 5待执行 6撤销）
   */
  processRate?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
}

export interface ApprovalInfoctlValue {
  /**
   * 审批编号
   */
  approvalCode?: string;
  /**
   * 控件中文名（唯一）
   */
  cnName?: string;
  /**
   * 控件类型
   */
  componentType?: string;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 控件编码（唯一）
   */
  ctlCode?: string;
  /**
   * 控件id
   */
  ctlId?: number;
  /**
   * 控件值信息
   */
  ctlValue?: string;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number;
  /**
   * 控件英文名（唯一）
   */
  enName?: string;
  /**
   * 控件数据库表列名（唯一）
   */
  fieldName?: string;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number;
  /**
   * 控件排序
   */
  orderNo?: number;
  /**
   * 控件所属类型（1 流程主体 2 流程规则）
   */
  ownerType?: number;
  /**
   * 父级id（关联流程主体id和规则表id）
   */
  parentId?: number;
  /**
   * 控件属性
   */
  props?: string;
  /**
   * 控件值是否必填（1 是 2 否）
   */
  required?: number;
  /**
   * 标签id
   */
  tabId?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
  /**
   * 控件值类型
   */
  valueType?: string;
}

export interface PointDetail {
  /**
   * 审批编号（32位）
   */
  approvalCode?: string;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 审批形式（1 会签 2 或签）
   */
  examineType?: number;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 是否为当前处理节点
   */
  isCurrentPoint?: boolean;
  /**
   * 下一节点
   */
  nextStep?: number;
  /**
   * 下一节点类型1 审批节点、2 抄送节点、3 子级流程、4 条件分支、5 发起人节点 6 结束节点
   */
  nextStepType?: number;
  /**
   * 参与者信息
   */
  participantInfos?: ParticipantInfo[];
  /**
   * 节点id
   */
  pointId?: number;
  /**
   * 节点名称
   */
  pointName?: string;
  /**
   * 节点进度（1 同意 2退回 3驳回 4审批中 5待执行 6撤销）
   */
  pointRate?: number;
  /**
   * 节点类型（1 审批节点、2 抄送节点、3 子级流程、4 条件分支、5 发起人节点 6 结束节点）
   */
  pointType?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
}

export interface ParticipantInfo {
  /**
   * 审批结果（1 同意 2退回 3驳回 4审批中 5待执行 6无操作 7 撤销）
   */
  approvalResult?: number;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 参与者id
   */
  objId?: number;
  /**
   * 参与者名称
   */
  objName?: string;
  /**
   * 审批意见
   */
  opinions?: string;
  /**
   * 参与者顺序
   */
  orderNo?: number;
  /**
   * 节点值id
   */
  pointValueId?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
}

export interface CurrentApprovalInfo {
  /**
   * 审批编号
   */
  approvalCode?: string;
  /**
   * 审批id
   */
  approvalId?: number;
  /**
   * 审批是否结束
   */
  approvalIsEnd?: boolean;
  /**
   * 审批标题
   */
  approvalTitle?: string;
  /**
   * 表单值信息
   */
  ctlValues?: CurrentApprovalInfoctlValue[];
  /**
   * 节点类型（1 审批节点、2 抄送节点、3 子级流程、4 条件分支、5 发起人节点 6 结束节点）
   */
  pointType?: number;
  /**
   * 当前审批结果描述
   */
  currentApprovalResult?: string;
  /**
   * 审批形式
   */
  examineType?: number;
  /**
   * 当前所处节点值id
   */
  nodeDetailId?: number;
  /**
   * 审批参与人信息
   */
  participants?: Participant[];
  /**
   * 节点名称
   */
  pointName?: string;
  /**
   * 流程id
   */
  processId?: number;
}

export interface CurrentApprovalInfoctlValue {
  /**
   * 审批编号
   */
  approvalCode?: string;
  /**
   * 控件中文名（唯一）
   */
  cnName?: string;
  /**
   * 控件类型
   */
  componentType?: string;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 控件编码（唯一）
   */
  ctlCode?: string;
  /**
   * 控件id
   */
  ctlId?: number;
  /**
   * 控件值信息
   */
  ctlValue?: string;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number;
  /**
   * 控件英文名（唯一）
   */
  enName?: string;
  /**
   * 控件数据库表列名（唯一）
   */
  fieldName?: string;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number;
  /**
   * 控件排序
   */
  orderNo?: number;
  /**
   * 控件所属类型（1 流程主体 2 流程规则）
   */
  ownerType?: number;
  /**
   * 父级id（关联流程主体id和规则表id）
   */
  parentId?: number;
  /**
   * 控件属性
   */
  props?: string;
  /**
   * 控件值是否必填（1 是 2 否）
   */
  required?: number;
  /**
   * 标签id
   */
  tabId?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
  /**
   * 控件值类型
   */
  valueType?: string;
}

export interface Participant {
  /**
   * 审批结果（1 同意 2退回 3驳回 4审批中 5待执行 6无操作 7 撤销）
   */
  approvalResult?: number;
  /**
   * 创建人
   */
  createBy?: number;
  /**
   * 创建时间
   */
  createdAt?: Date;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: Date;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 参与者id
   */
  objId?: number;
  /**
   * 参与者名称
   */
  objName?: string;
  /**
   * 审批意见
   */
  opinions?: string;
  /**
   * 参与者顺序
   */
  orderNo?: number;
  /**
   * 节点值id
   */
  pointValueId?: number;
  /**
   * 更新人
   */
  updateBy?: number;
  /**
   * 更新时间
   */
  updatedAt?: Date;
}
